Doom95

Doom95 is an official port of Doom to the operating system, and is included in many later releases of The Ultimate Doom, Doom II, and Final Doom. This port was developed by a team at Microsoft headed by Alex St. John, the creator of the specification. It was to serve as a flagship for the new technology, and was released on August 20, 1996.

It supports four screen resolutions (320x200, 320x240, 640x400 and 640x480), which can all be used either in a windowed or a fullscreen mode. The port also has a launcher to configure options for external PWADs, player controls and multiplayer settings. It has a slightly higher visplane limit than the original Doom, allowing more complicated maps. It also has cheat codes that are exclusive to it, such as the ability to kill all of the monsters in a level. Several additional command line parameters were also implemented.

History
Work on a port of Doom to Windows began at Microsoft in mid-1994, then targeting Windows 3.11 and up via the new and  technologies, under the name of WinDoom. This initial work was done by a team started by, who later co-founded and developed. While two public betas were released, this version of the code base was eventually shelved.

In late 1995, Doom was estimated to be installed on more computers worldwide than Microsoft's new operating system, despite million-dollar advertising campaigns for the latter. The game's popularity prompted to briefly consider buying id Software, and led Microsoft to repurpose their Doom porting project into a promotion of the new operating system as a gaming platform. One related presentation, created to promote Windows 95 as part of Microsoft's Judgment Day event, had Bill Gates digitally superimposed into the game, killing zombies with a shotgun (rather strangely while holding it by the barrel with both hands) between segments of exposition. Microsoft stated that this release heralded the end of the reign of (though ironically enough, the Windows 9x series of operating systems are a hybrid 16/32-bit architecture that still depended on DOS at least in a vestigial way).

Differences
The following are known changes between vanilla Doom and Doom95:
 * Unlike the later DOS versions of the Doom games, Doom95 cannot play back true MIDIs, only real MUS files.
 * The engine supports a larger amount of sound channels, with a maximum of 32, whereas vanilla supports only eight.
 * The sound effects are played back at a slightly lower pitch than in regular Doom played under DOS.
 * Less of the player's weapon is shown on screen when compared to the MS-DOS version.
 * Some of Doom95's quit messages differ slightly from vanilla Doom, mostly by removing references to DOS.
 * The port handles its configuration differently from the DOS version, which in turn disables the always run trick.

Bugs

 * A bug in Doom95 prevents demo recording when starting the game via the Doom95 launcher. As soon as the game is launched (with instructions to record a demo), Doom95 quits and returns to the desktop with an error: "I_Error says: demo &lt;demoname&gt; recorded". An unofficial patch has been released that fixes this bug (by altering the file ).


 * In resolutions above 320x240, the automap function for marking the current position with a number is extremely buggy. In addition to severe rendering bugs, the actual markers are not displayed at all or are displayed in the wrong positions. Adding the markers can even crash the game, though this is rare. The automap can be restored from the buggy state by moving the view away from the marker or by clearing all marks.


 * The intermission screen background shown during Thy Flesh Consumed intermissions is the one from Knee-Deep in the Dead, and the level names are from that episode as well. The bug only affects the intermission screen; in the automap the level names are correct.

 As a consequence, the screen attempts to display par times for these maps, which are not defined in. The times given are actually for MAP02 through MAP10 because the function is reading past the end of the array  into its Doom II counterpart, which happens to be adjacent in memory.


 * After MAP30 of Doom II has been completed, a few frames of the monster animations are displayed in the upper left corner of the screen instead of the center. This seems to affect the hell knight, arachnotron, revenant, arch-vile, and spiderdemon.


 * In the Doom95 launcher the title of E1M1: Hangar is misspelled "Hanger" (the name for a TNT map).


 * The screen is slightly stretched, horizontally. As a result, enemies look shorter, rocket explosions are oval instead of round, etc.


 * The rarer EXE version (see "DOOM95.EXE" below) fixes Sky never changes in Doom II but introduces Crash when accessing Read This!

Compatibility issues

 * By default the game does not launch on or  at all due to the lack of the file . The issue can be fixed using this workaround.


 * Mice do not work with Doom95 under and later  versions. This is because these operating systems do not support  files, and Doom95 uses the file  to communicate with the mouse. An unofficial patch for this issue was released in 2010.


 * Most of Doom95's video modes do not work with modern video cards and Windows versions. Users frequently report displays squashed into one corner of the screen, washed-out colors, or choppy and grainy animation, irrespective of any video options selected.


 * The multiplayer mode does not work in Windows Vista and later Windows versions as they do not support the protocol. The  mode is also broken in those Windows versions.


 * Due to a bug in its handling of certain types of graphics cards and versions, Doom95 does not render the partial invisibility effect in its original form. Instead of seeing directly through the sprite, with some cards the user sees a wall texture or other background "" through the creature's body at a slight angle, as though looking at an object through a glass of water. This makes invisible enemies somewhat easier to see, especially in dark rooms; on the other hand, tracking the movement of non-invisible creatures behind them can be more challenging, especially when trying to aim one's weapon through a pile of invisible corpses (which can easily occur, for example, in E1M9: Military Base). On other cards the effect produces bright yellow and magenta pixels which make the affected things stand out very clearly. Both visual glitches can be prevented by disabling  acceleration using the  parameter.

How to run Doom95 on Windows Vista/7
To be able to run Doom95 on or, you need to obtain a file named. This file can be found inside the in the  folder. An updated version of the file named can also be found in the  (or ) folder. A copy of this file can be renamed to. After you have the file, it should be moved over to the location of the Doom95 executable. After this the game should launch normally.

How to run Doom95 on Windows 8/10
Doom 95 will not launch at all on or  due to the removal of various files with DirectX, this can be fixed by downloading and installing a program named DXGL and copying  from the DXGL installation folder and placing it in the Doom95 folder. Then, copy the file from the DirectX installation archive folder in the Doom95 folder and place it in the Doom95 folder. Lastly run the DXGL program, click "Add" and select the Doom95 executable, and set it to "Aspect corrected stretch" with 4:3 aspect ratio. This should scale the correct aspect ratio even on widescreen LCD monitors. The unofficial mouse patch does still work, however causes heavy delays and makes the game almost unplayable. The mouse patch executable must be launched in administrator mode.

DOOM95.EXE
DOOM95.EXE is the main executable for Doom95. Version 3.0 is bytes in size, and has the following hashes:

A slightly different, and rarer, version is found on some, but not all, id Anthology discs. The main changes in this version are the bugs Sky never changes in Doom II is fixed and Crash when accessing Read This! is introduced. Unfortunately, there is no revision change between both versions so it is also called v3.0. It is bytes in size, and has the following hashes: